#ifndef DW_GRAPHICS_MORPHER_H
# define DW_GRAPHICS_MORPHER_H

#	include "graphics/controller.h"

namespace dw
{
namespace graphics
{

class Node;

class MorphController : public Controller
{
// Constructors
public:

																	MorphController();

	virtual													~MorphController();

// Methods
public:

	/// Get the n-th target for this controller
	Node* getTarget(const uint32 target) const ;

	/// Set the n-th target for this controller 
	void setTarget(const uint32 target, Node* node);

	/// Update the attached node
	virtual void update(const float32& t);

// Fields
private:

	/// Morph targets
	std::vector< Node* >							_targets;

	/// Morph weights
	std::vector< float32 >								_weights;

};

typedef MorphController Morpher;

} // namespace graphics
} // namespace dw

#endif // !DW_GRAPHICS_MORPHER_H
